草庐IT

java - Java Collectors.toMap内存优化

全部标签

javascript - 防止 AJAX 内存泄漏

我正在开发一个Web应用程序,该应用程序旨在显示一组使用AJAX定期更新的数据。一般的使用场景是用户整天打开它,偶尔看一眼。我遇到了一个问题,即浏览器的内存占用量随着时间的推移增长缓慢。这在Firefox和IE7中都发生了(尽管在Chrome中没有)。几个小时后,它会导致IE7的占用空间约为200MB,而FF3的占用空间约为400MB。经过大量测试,我发现只有在响应AJAX调用时才会发生内存泄漏。如果服务器没有响应任何内容,我可以让页面打开数小时,占用空间也不会增加。我正在为我的AJAX调用使用原型(prototype)。所以,我猜onSuccess回调存在问题,造成了这些内存泄漏。有

javascript - 闭包是如何造成内存泄漏的?

我正在审阅此演示文稿中的幻灯片:http://slid.es/gruizdevilla/memory在其中一张幻灯片中,显示此代码时会提示它会造成内存泄漏:vara=function(){varsmallStr='x',largeStr=newArray(1000000).join('x');returnfunction(n){eval('');//maintainsreferencetolargeStrreturnsmallStr;};}();Closurescanbeanothersourceofmemoryleaks.Understandwhatreferencesarereta

javascript - Ext.js 是否存在内存问题

我工作的一个应用程序的用户界面最近用Ext.js重做了,我注意到在查看它时IE的内存使用量似乎非常大。使用IE时,Ext.js是否存在已知的内存问题? 最佳答案 在您的问题中,我首先想到的是您在IE中看到了这一点。我的团队最近遇到了同样的问题(IE上的Extjs)。事实证明Ext不是罪魁祸首,而IE可能是原因。快速谷歌一下“IE闭包内存泄漏”会发现很多解释,但基本要点如下:IE使用两个独立的引擎来管理DOM和JavaScript。当JavaScript调用创建DOM元素时,Javascript引擎会跨过另一个引擎来创建它。如果您将J

javascript - 使用 Closure Compiler 简单优化从函数内部删除调试代码

我正在寻找一种从函数中删除调试代码的方法,以便我可以将测试Hook添加到闭包中。我读了GoogleClosureCompileradvanced:removecodeblocksatcompiletime并测试了使用以下命令删除调试代码:/**@define{boolean}*/varDEBUG=true;if(DEBUG){console.log('removeme');}使用--define='DEBUG=false'的简单优化将其减少为varDEBUG=!1;。这同样适用于此:/**@const*/varDEBUG=false;if(DEBUG){console.log('rem

javascript - Three.js 中的内存泄漏

我们正在尝试创建一个单页应用程序,用户可以在其中在多个Three.js应用程序之间切换。但是,我们注意到选项卡的内存使用量不断增加。它们在我们的应用程序中没有内存泄漏,似乎Three.js变量没有从RAM中清除。重新创建的步骤访问http://threejs.org/examples/并在GoogleChrome中打开任务管理器以查看相关选项卡的内存使用情况。不断在示例之间切换,您会注意到内存使用量不断增加,并且GC似乎从未发生或无法取消链接以前消耗的内存块。我的笔记本电脑配置如下https://aboutmybrowser.com/pDp7aTxH当一切开始卡住时,内存很容易超过1G

javascript - Angular.js 内存泄漏,我应该什么时候开始担心

所以我有这个相当大的应用程序构建在Angular上,有很多嵌套状态、很多指令、数据表和东西。我们最近决定切换到完整的单页,而不是只有几个小的单应用部分(比如文章、人员、仪表板以前都是一个小的单页应用),所以我开始更多地处理性能问题。在chrome中,你不会在视觉上注意到任何东西,另一方面,在firefox中,我认为它会随着时间的推移而变慢。所以我开始使用三种快照技术来查看发生了什么。但我不完全确定该怎么做。IMAGE每次拍摄快照时,快照大小都会加倍(第一个15mb、第二个67mb、第三个120mb),这意味着什么吗?有很多红色dom,例如4000个红色div现在我觉得那些红色的div、

javascript - JavaScript (Chrome) 中的内存泄漏

我每秒调用一个函数50次,它在上大量绘制时会做一些昂贵的事情元素。它工作得很好,没有问题,但我只是看了一下内存使用情况,它每秒窃取了我1MB的RAM。Chrome似乎在进行垃圾收集,因为它每分钟左右下降一次,但随后使用量再次增长。我试过的是把return在我的函数的某些地方,以确定我的函数的哪一部分确切地导致了泄漏。我已经能够将它缩减为特定的代码行,之后是邪恶的部分,但我真的不知道如何解决它。我的问题是:有什么工具可以有效测量Chrome中的JavaScript内存泄漏?将变量设置为null是否有效?/undefined在使用它们之后,处理它们之类的东西?如果真的需要源代码,我会毫不犹

javascript - 尝试优化我的代码以删除嵌套循环或使其更高效

我的一个friend取了一个从1到n的数字序列(其中n>0)在这个序列中,他选择了两个数字,a和b他说a和b的乘积应该等于数列中除a和b之外所有数的和给定一个数字n,你能告诉我他从序列中排除的数字吗?我从CodeWars找到了这个Kata的解决方案,但是当我运行它时它在编辑器中超时(12秒后);还有什么想法我应该如何进一步优化嵌套的for循环和/或删除它?functionremoveNb(n){varnArray=[];varsum=0;varanswersArray=[];for(leti=1;i.as-console-wrapper{max-height:100%!importan

javascript - 在没有赋值的情况下使用 var 在 JavaScript 中声明变量会消耗内存吗?

在对象实例中我喜欢使用闭包机制来模拟私有(private)成员变量。对于可能创建的大量对象,虽然我不需要一些私有(private)成员,但我必须声明它们以便在闭包中使用它们,例如此处的“一”、“二”和“三”:varobj=function(){varone;vartwo;varthree;varM=function(){one=5;};};(不要介意这实际上不是我的设置的工作示例,它只是为了演示如何使用M对三个变量使用闭包。)var语句本身是否已经消耗内存,或者这是否取决于实际为这些vars分配一些东西,比如“one”? 最佳答案

javascript - 记录复杂对象时内存泄漏

我目前正忙于编写一个javascript库。在那个库中,我想提供一些关于控制台内容的日志记录。functionlog(){if((window&&typeof(window.console)==="undefined")||!enableLogging){returnfalse;}functioncurrentTime(){vartime=newDate();returntime.getHours()+':'+time.getMinutes()+':'+time.getSeconds()+'.'+time.getMilliseconds();}varargs=[];args.push(